import router from './index'
import { NextLoading } from '@utils/loading';

//导入进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

// 路由拦截器
router.beforeEach((to, from, next) => {
    //console.log(to);
    
    // 添加动态title
    (<any>window).document.title = to.name  

    NProgress.start()
    if ((<any>window).nextLoading === undefined) NextLoading.start();//加载动画
    //使用钩子函数对路由进行权限跳转
        // router.beforeEach((to, from, next) => {
        //     document.title = `${to.meta.title} | vue-manage-system`;
        //     const role = localStorage.getItem('currentUser');
        //     if (!role && to.path !== '/login') {
        //         next('/login');
        //     } else if (to.meta.permission) {
        //         // 如果是管理员权限则可进入，这里只是简单的模拟管理员权限而已
        //         role === 'admin' ? next() : next('/403');
        //     } else {
        //         // 简单的判断IE10及以下不进入富文本编辑器，该组件不兼容
        //         if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
        //             Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器，请使用更高版本的浏览器查看', '浏览器不兼容通知', {
        //                 confirmButtonText: '确定'
        //             });
        //         } else {
        //             next();
        //         }
        //     }
        //   });
    // 判断是否存在token
    if (Boolean(localStorage.getItem("LOGIN_STATUS"))) {
        if (to.path == '/login' || to.path == '/') {
            next({
                path: '/index'
            })
        } else {
            next();
        }
    } else {
        if (to.matched.length != 0 && !to.meta.requireAuth) {
            console.log('无需权限的界面');
            next()
        } else {
            next({
                path: '/login',
                query: {
                    redirect: to.fullPath
                }
            })
        }
    }
})

// 路由加载后
router.afterEach(() => {
	NProgress.done();
	NextLoading.done();
});